Logic Program Synthesis via Proof Planning

نویسندگان

  • Ina Kraan
  • David A. Basin
  • Alan Bundy
چکیده

We propose a novel approach to automating the synthesis of logic programs: Logic programs are synthesized as a by-product of the planning of a verification proof. The approach is a two-level one: At the object level, we prove program verification conjectures in a sorted, first-order theory. The conjectures are of the form ∀args . prog(args ) ↔ spec(args ). At the meta-level, we plan the object-level verification with an unspecified program definition. The definition is represented with a (second-order) meta-level variable, which becomes instantiated in the course of the planning. This technique is an application of the Clam proof planning system. Clam is currently powerful enough to plan verification proofs for given programs. We show that, if Clam’s use of middle-out reasoning is extended, it will also be able to synthesize programs.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Automating the synthesis of functional programs

The task of constructing programs can be treated as a task of nding proofs in an appropriate logic. For recursive programs, the corresponding logic includes appropriate induction principles. We describe a system that automates program synthesis via theorem proving in this way, building on control strategies developed for veriication proofs using proof plans. This involves some extensions to the...

متن کامل

Middle-Out Reasoning for Logic Program Synthesis

Logic programs can be synthesized as a by-product of the planning of their verification proofs. This is achieved by using higher-order variables at the proof planning level, which become instantiated in the course of planning. We illustrate two uses of such variables in proof planning for program synthesis, one for synthesis proper and one for the selection of induction schemes. We demonstrate ...

متن کامل

Middle - Out Reasoning for Synthesis and InductionIna

We develop two applications of middle-out reasoning in inductive proofs: Logic program synthesis and the selection of induction schemes. Middle-out reasoning as part of proof planning was rst suggested by Bundy et al Bundy et al 90a]. Middle-out reasoning uses variables to represent unknown terms and formulae. Uniication instantiates the variables in the subsequent planning, while proof plannin...

متن کامل

Max-planck-institut F Ur Informatik Middle-out Reasoning for Logic Program Synthesis K I N F O R M a T I K Im Stadtwald D 66123 Saarbr Ucken Germany Authors' Addresses

Logic programs can be synthesized as a by-product of the planning of their veri cation proofs. This is achieved by using higher-order variables at the proof planning level, which become instantiated in the course of planning. We illustrate two uses of such variables in proof planning for program synthesis, one for synthesis proper and one for the selection of induction schemes. We demonstrate t...

متن کامل

Proof Planning and Program Synthesis: A Survey

Proof planning is a knowledge-based automated theorem proving t~hnlque. It has been applied to a number of theorem-proving domains, for example: mathematical induction (Bundy et al.1991), and hardware verification (Cantu et a/.1996) (to pick two of the many). In the domain of program synthesis, it has been used to automate the synthesis of logic (Kraan et a/.1993a, Kraan et al.1993b, Basin et a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992